تصاحب گيتهاب توسط نمايندگي ريكو باعث ناخشنودي بسياري از كاربران متن باز گيتهاب شد؛ بهطوري كه حدود ۱۰۰ هزار نفر از كاربران آن بهدليل همين نارضايتي به گيتلب، سرويس رقيب گيتهاب مهاجرت كردند. اكنون گيتلب در حال جابجايي مخازن كُد خود از سرويس رايانش ابري نمايندگي ريكو به پلتفرم ابري گوگل (GCP) است.
اندرو نيوديگيت ، مدير پروژهي مهاجرت گيتلب به گوگل، توضيح ميدهد كه هدف شركت متبوع از اين برنامه، بهمنظور بهبود عملكرد و اتكاپذيري آن است. مهاجرت گيتلب به پلتفرم ابري گوگل، بهطور مشخص بهدليل اعتقاد آن به ابزار متن باز Kubernetes گوگل است. گيتلب باور دارد كه «Kubernetes قابليت اطمينان بيشتري در پروژههاي وسيع» ايجاد ميكند. اشتياق گيتلب به Kubernetes بهدليل متن باز بودن، مسلما GCP را به انتخاب طبيعي اين شركت تبديل كرده است. گذشته از اين، Kubernetes اختراع گوگل است و نمايندگي ريكو (Google Kubernetes Engine) قويترين و كاملترين پشتيباني را دارد.
بعد از اينكه مهاجرت از آژور به سرويس ابري گوگل انجام شد، گيتلب با انتقال ناوگان كاري خود به سيستم Kubernetes با استفاده از سيستم مديريت و اركستراسيون GKE، پايداري و مقياسپذيري وبسايت GitLab.com را بهبود خواهد داد، اين فرآيند از چارتهاي Cloud Native گيتلب نيز سود خواهد برد كه هماكنون با GitLab 11.0 در وضعيت بتا بهسر ميبرند.
نمايندگي ريكو براي تحقق اين هدف، گيتلب از محصول خود تحت عنوان Geo استفاده ميكند. Geo به كاربران اجازهي ساخت نمونهي آينهاي كامل و Read-Only را از منابع خودشان ميدهد. اين نمونهها ميتوانند براي شبيهسازي و آزمايش پروژهها و همينطور مهاجرت پروژههاي گيتلب بهكار روند. گيتلب تصميم به مهاجرت را بهخاطر فاصلهگرفتن از مايكروسافت اتخاذ نكرده است؛ بلكه پيش از تصاحب گيتهاب توسط مايكروسافت روي اين پروژه كار ميكرد.
نيوديگيت بسيار پيش از نهاييسازي قرارداد مايكروسافت و گيتهاب چنين نوشت:
ما سايت Geo دومي تحت عنوان gprd.gitlab.com براي گيتلب روي پلتفرم ابري گوگل راهاندازي كردهايم كه از يك كپي پشتيبان بهروز از ۲۰۰ ترابايت اطلاعات گيتلب و ۲ ترابايت اطلاعات وابسته در PostgreSQL نگهداري ميكند. در ابتدا بهطور موازي پروژهي ديگري را نيز با نام Git LFS براي بارگذاري فايلها به راه انداختيم كه البته اين پروژه به مخازن ذخيرهي ابري گوگل انتقال يافته است.
بهدلايل منطقي، گيتلب ايستگاه مخزن ابري us-East1 پلتفرم ابري گوگل را در كاروليناي جنوبي استفاده ميكند. در حالي كه مركز دادهي آژور US East 2 در ويرجينيا قرار دارد. يك فاصلهي ۸۰۰ كيلومتري يا به تعبير سرعت نوري، ۳ ميليثانيهاي ميان اين دو مركز وجود دارد كه باعث ايجاد ۳۰ ميلي ثانيه زمان پينگ بين دو ايستگاه ميشود. نيوديگيت ادامه ميدهد:
بهخاطر حجم بسيار بالاي دادهاي كه بايد بين آژور و GCP همگام شود، ابتدا نگران تاخير و ريسكي بوديم كه در اين فاصلهي زياد براي انتقال Geo پيش ميآمد. پس از آزمايش اوليه، پي برديم كه تاخير شبكه و پهناي باند تنگنايي براي انتقال داده محسوب نميشود.
همزمان با مهاجرت گيتلب به پايگاه ذخيره ابري گوگل CGS، گوگل نيز اجراي ذخيرهسازي فايلها و اطلاعات را مديريت كرده، اين ميزان برابر با ۲۰۰ ترابايت داده است. گيتلب تاكنون اين فايلها را روي سرورهاي NFS خود با سيستم Network File System ذخيره ميكرد. NFS از تكنولوژي (SPOF (Single Point of Failure بهره ميبرد كه در مقياسهاي بزرگ كار را سخت ميكند. با مهاجرت به CGS، گيتلب از قابليتهاي چند ناحيهاي بودن و افزونگي ايجاد شده ميان آنها بهره خواهد برد كه به نوبهي خود دسترسي به گيت لب را بهبود ميبخشد و SPOF را از بين ميبرد.
پروژهي Gitaly، سرويس Git RPC گيتلب، بخشي از همين خلاقيت است. تلاش اين پروژه براي حذف SPOF پيشنياز مهاجرت به Kubernetes گوگل است. طبق گفتهي نيوديگيت اولويت اساسي گيتلب اطمينان از محافظت تمامي دادههاي كاربران اين شركت است. او ميگويد:
ما زماني از خودمان رضايت كامل داريم و مطمئنيم كه تمام وظايف اصلي و مهم خود را انجام دادهايم كه هيچ ريسكي بابت از دست رفتن دادههاي كاربران وجود نداشته باشد و محيط جديد ما روي پلتفرم ابري گوگل براي حجم زياد كار آماده باشد.
تصاحب گيتهاب توسط نمايندگي ريكو باعث ناخشنودي بسياري از كاربران متن باز گيتهاب شد؛ بهطوري كه حدود ۱۰۰ هزار نفر از كاربران آن بهدليل همين نارضايتي به گيتلب، سرويس رقيب گيتهاب مهاجرت كردند. اكنون گيتلب در حال جابجايي مخازن كُد خود از سرويس رايانش ابري نمايندگي ريكو به پلتفرم ابري گوگل (GCP) است.
اندرو نيوديگيت ، مدير پروژهي مهاجرت گيتلب به گوگل، توضيح ميدهد كه هدف شركت متبوع از اين برنامه، بهمنظور بهبود عملكرد و اتكاپذيري آن است. مهاجرت گيتلب به پلتفرم ابري گوگل، بهطور مشخص بهدليل اعتقاد آن به ابزار متن باز Kubernetes گوگل است. گيتلب باور دارد كه «Kubernetes قابليت اطمينان بيشتري در پروژههاي وسيع» ايجاد ميكند. اشتياق گيتلب به Kubernetes بهدليل متن باز بودن، مسلما GCP را به انتخاب طبيعي اين شركت تبديل كرده است. گذشته از اين، Kubernetes اختراع گوگل است و نمايندگي ريكو (Google Kubernetes Engine) قويترين و كاملترين پشتيباني را دارد.
بعد از اينكه مهاجرت از آژور به سرويس ابري گوگل انجام شد، گيتلب با انتقال ناوگان كاري خود به سيستم Kubernetes با استفاده از سيستم مديريت و اركستراسيون GKE، پايداري و مقياسپذيري وبسايت GitLab.com را بهبود خواهد داد، اين فرآيند از چارتهاي Cloud Native گيتلب نيز سود خواهد برد كه هماكنون با GitLab 11.0 در وضعيت بتا بهسر ميبرند.
نمايندگي ريكو براي تحقق اين هدف، گيتلب از محصول خود تحت عنوان Geo استفاده ميكند. Geo به كاربران اجازهي ساخت نمونهي آينهاي كامل و Read-Only را از منابع خودشان ميدهد. اين نمونهها ميتوانند براي شبيهسازي و آزمايش پروژهها و همينطور مهاجرت پروژههاي گيتلب بهكار روند. گيتلب تصميم به مهاجرت را بهخاطر فاصلهگرفتن از مايكروسافت اتخاذ نكرده است؛ بلكه پيش از تصاحب گيتهاب توسط مايكروسافت روي اين پروژه كار ميكرد.
نيوديگيت بسيار پيش از نهاييسازي قرارداد مايكروسافت و گيتهاب چنين نوشت:
ما سايت Geo دومي تحت عنوان gprd.gitlab.com براي گيتلب روي پلتفرم ابري گوگل راهاندازي كردهايم كه از يك كپي پشتيبان بهروز از ۲۰۰ ترابايت اطلاعات گيتلب و ۲ ترابايت اطلاعات وابسته در PostgreSQL نگهداري ميكند. در ابتدا بهطور موازي پروژهي ديگري را نيز با نام Git LFS براي بارگذاري فايلها به راه انداختيم كه البته اين پروژه به مخازن ذخيرهي ابري گوگل انتقال يافته است.
بهدلايل منطقي، گيتلب ايستگاه مخزن ابري us-East1 پلتفرم ابري گوگل را در كاروليناي جنوبي استفاده ميكند. در حالي كه مركز دادهي آژور US East 2 در ويرجينيا قرار دارد. يك فاصلهي ۸۰۰ كيلومتري يا به تعبير سرعت نوري، ۳ ميليثانيهاي ميان اين دو مركز وجود دارد كه باعث ايجاد ۳۰ ميلي ثانيه زمان پينگ بين دو ايستگاه ميشود. نيوديگيت ادامه ميدهد:
بهخاطر حجم بسيار بالاي دادهاي كه بايد بين آژور و GCP همگام شود، ابتدا نگران تاخير و ريسكي بوديم كه در اين فاصلهي زياد براي انتقال Geo پيش ميآمد. پس از آزمايش اوليه، پي برديم كه تاخير شبكه و پهناي باند تنگنايي براي انتقال داده محسوب نميشود.
همزمان با مهاجرت گيتلب به پايگاه ذخيره ابري گوگل CGS، گوگل نيز اجراي ذخيرهسازي فايلها و اطلاعات را مديريت كرده، اين ميزان برابر با ۲۰۰ ترابايت داده است. گيتلب تاكنون اين فايلها را روي سرورهاي NFS خود با سيستم Network File System ذخيره ميكرد. NFS از تكنولوژي (SPOF (Single Point of Failure بهره ميبرد كه در مقياسهاي بزرگ كار را سخت ميكند. با مهاجرت به CGS، گيتلب از قابليتهاي چند ناحيهاي بودن و افزونگي ايجاد شده ميان آنها بهره خواهد برد كه به نوبهي خود دسترسي به گيت لب را بهبود ميبخشد و SPOF را از بين ميبرد.
پروژهي Gitaly، سرويس Git RPC گيتلب، بخشي از همين خلاقيت است. تلاش اين پروژه براي حذف SPOF پيشنياز مهاجرت به Kubernetes گوگل است. طبق گفتهي نيوديگيت اولويت اساسي گيتلب اطمينان از محافظت تمامي دادههاي كاربران اين شركت است. او ميگويد:
ما زماني از خودمان رضايت كامل داريم و مطمئنيم كه تمام وظايف اصلي و مهم خود را انجام دادهايم كه هيچ ريسكي بابت از دست رفتن دادههاي كاربران وجود نداشته باشد و محيط جديد ما روي پلتفرم ابري گوگل براي حجم زياد كار آماده باشد.